package com.lagou.task;

/*
3.1 第一步：设计和实现以下类 
    （2）通话套餐类 特征：通话时长、短信条数、每月资费 行为: 显示所有套餐信息     
    （3）上网套餐类 特征：上网流量、每月资费 行为：显示所有套餐信息 
3.3 第三步：实体类的优化 将通话套餐类和上网套餐类中相同的特征和行为提取出来组成抽象套餐类。
   
 */

public abstract class AbstractPack {

    // 私有化成员变量
    private double rate; // 用于描述每月资费的成员变量

    // 在构造方法中调用set方法实现合理值的判断
    public AbstractPack() {
    }

    public AbstractPack(double rate) {
        setRate(rate);
    }

    // 提供公有的get和set方法

    public double getRate() {
        return rate;
    }

    //对每月资费进行合理值判断
    public void setRate(double rate) {
        if (rate >= 0) {
            this.rate = rate;
        } else {
            System.out.println("每月资费不合理哦！！！");
        }
    }
    // 提供显示所有套餐信息的抽象方法
    public abstract void show();
}
